package org.activision.model.npc;

import org.activision.model.Animation;

public class Mask {
    private transient Npc npc;
    private transient boolean Teleport;
    private transient boolean HitUpdate;
	private transient boolean AnimationUpdate;
	private transient Animation lastAnimation;
    public Mask(Npc npc) {
        this.setNpc(npc);
        this.setTeleport(true);
    }

    public void reset() {
        this.setTeleport(false);
        this.setHitUpdate(false);
        this.setAnimationUpdate(false);
    }

    public void setNpc(Npc npc) {
        this.npc = npc;
    }

    public Npc getNpc() {
        return npc;
    }
    
    public boolean isUpdateNeeded() {
        return HitUpdate || AnimationUpdate;
    }

    public void setTeleport(boolean teleport) {
        Teleport = teleport;
    }

    public boolean isTeleport() {
        return Teleport;
    }

	public void setHitUpdate(boolean hitUpdate) {
		HitUpdate = hitUpdate;
	}

	public boolean isHitUpdate() {
		return HitUpdate;
	}

	public void setAnimationUpdate(boolean animationUpdate) {
		AnimationUpdate = animationUpdate;
	}

	public boolean isAnimationUpdate() {
		return AnimationUpdate;
	}

	public void setLastAnimation(Animation lastAnimation) {
		this.lastAnimation = lastAnimation;
	}

	public Animation getLastAnimation() {
		return lastAnimation;
	}
}